// 1. 表单元素正则检查(被登录和注册进行复用)
function validatData(username, pwd) {
    const unameReg = /^[a-zA-Z0-9]{8,30}$/
    const pwdReg = /^[a-zA-Z0-9]{6,30}$/
    return unameReg.test(username) && pwdReg.test(pwd)
}
//封装一个与服务器的通讯方法 login
async function login(requestBody) {
    try {
        let res = await axios({

            url: '/login',
            method: 'POST',
            data: requestBody

        })
        // console.log(res);

        let { username, token } = res.data
        // console.log(username, token);
        // console.log(res.data.data);

        // 1. 保存服务器响应回来的数据 
        // 用户名保存
        // 服务器响应回来的token保存
        localStorage.setItem('username', username)
        localStorage.setItem('token', token)

        // 2. 跳转到首页
        location.href = './index.html'

    } catch (err) {
        pxmu.fail(err.response.data.message || '登录失败，请检查网络请求')
        console.dir(err)
    }
}
// 3. 给登录按钮注册点击事件
document.querySelector('#btn-login').addEventListener('click', function (e) {
    e.preventDefault()

    // 获取form表单中的元素值
    const formBox = document.querySelector('.login-form')
    let body = serialize(formBox, { hash: true, empty: true })
    let { username, password } = body

    // 调用common.js中的validatData验证表单元素的合法性
    if (!validatData(username, password)) {
        pxmu.fail('【用户名】或者【密码】不符合规范')
        return
    }




    // 调用login方法完成登录
    login(body)
})